Amazon ECS on AWS Fargate 생성 시 CannotPullContainerError: pull image manifest has been retried 문제 해결
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon ECS on AWS Fargate 생성 시 ECS Fargate 생성 시 CannotPullContainerError: pull image manifest has been retried 문제를 해결하는 방법에 대해서 정리해 봤습니다.
문제 발생
Amazon ECS on AWS Fargate를 생성하는 도중 문제가 발생했습니다.
에러 메시지를 살펴보면 다음과 같습니다.
CannotPullContainerError: pull image manifest has been retried 1 time(s): failed to resolve ref xxxxxxxx:dkr.ecr.ap-northeast-2.amazonaws.com/ecs/nginx:test: xxxxxxxx.dkr.ecr.ap-northeast-2.amazonaws.com/ecs-nginx:test: not found
AWS 공식 문서를 확인해 보면 다음과 같이 설명하고 있습니다..
- 시작 유형이 Amazon ECR 엔드포인트에 액세스할 수 없음
- Amazon ECR 리포지토리 정책이 리포지토리 이미지에 대한 액세스를 제한함
- AWS Identity and Access Management(IAM) 역할에 이미지를 가져오거나 내보낼 올바른 권한이 없음
- 이미지를 찾을 수 없음
- Amazon Virtual Private Cloud(Amazon VPC) 게이트웨이 엔드포인트 정책에 의해 Amazon Simple Storage Service(S3) 액세스가 거부됨
여기서 에러 메시지를 살펴보면 ECR의 이미지를 찾을 수 없다고 말하고 있으며, 이미지의 URI 혹은 태그가 잘못된 것을 확인할 수 있습니다.
문제 해결
ECR에서 이미지의 태그를 확인합니다.
사용할 이미지 태그의 URI를 복사하여 다시 Amazon ECS on AWS Fargate를 생성합니다.
URI를 ECR의 이미지 태그에 맞게 수정한 다음 생성해 보면, 성공적으로 Amazon ECS on AWS Fargate가 생성되는 것을 확인할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 jaewookkim533@yahoo.com로 보내주시면 감사하겠습니다.